package com.geostar.constructionland.analyse.service.analyseresult;

import com.baomidou.mybatisplus.extension.service.IService;
import com.geostar.constructionland.analyse.entity.statistics.SticDlfxTzh;
import com.geostar.constructionland.common.entity.response.LandInfo;

import java.util.List;
import java.util.Map;


/**
 * @author yelll
 * @since 2020-6-16 14:14
 **/
public interface SticDlfxTzhService extends IService<SticDlfxTzh> {
    /**
     * 获取可调整的调整后地类统计数据
     * @return
     */
    double getKtzZymj();

    /**
     * 获取排序后的水田数据
     * @param fxbs 分析标示
     * @param sortType 排序类型
     * @return
     */
    List<SticDlfxTzh> getSortedPdyFields(String fxbs,String sortType);


    /**
     * 获取排序后的旱地水浇地数据
     * @param fxbs 分析标示
     * @param sortType 排序类型
     * @return
     */
    List<SticDlfxTzh> getSortedDryIrgFields(String fxbs,String sortType);

    /**
     * 获取排序后的可调整数据
     * @param fxbs 分析标示
     * @param sortType 排序类型
     * @return
     */
    List<SticDlfxTzh> getSortedKtzFields(String fxbs,String sortType);

    /**
     * 获取排序后建设用地数据
     * @param fxbs 分析标示
     * @param sortType 排序类型
     * @return
     */
    List<SticDlfxTzh> getSortedBuildFields(String fxbs,String sortType);

    /**
     * 获取拍讯后剩余用地数据
     * @param fxbs
     * @param sortType
     * @return
     */
    List<SticDlfxTzh> getSortedRestFields(String fxbs,String sortType);
    /**
     * 获取原始地类总面积剩余平差
     * @return
     */
    List<SticDlfxTzh> getRestAdjustOri(String fxbs);

    /**
     * 获取可调整地类统计数据
     * @param fxbs
     * @return
     */
    List<SticDlfxTzh> getKtzSticDlfxTzh(String fxbs);

    /**
     * 获取可调整面积为0 平差后的地块面积
     * @param fxid 分析ID
     * @param dkbs 地块标示
     * @return
     */
    double getAdjustedTotalMjByDkxx(String fxid,String dkbs);

    /**
     * 获取耕地信息
     * @param fxbs
     * @return
     */
    List<Map> getGdInfos(String fxbs);


    /**
     * 更新平差后的数据
     * @param landInfos
     */
    void updateSticByAdjustedInfos(List<LandInfo> landInfos);

    /**
     * 获取可调整，农用地，建设用地集合
     * @param fxbs
     * @return
     */
    List<SticDlfxTzh> getKtzFarmBuildList(String fxbs);


    /**
     * 平差环节中 更新 可调整面积
     * @param fxbs
     */
    void updateSticKtzmjAdjust(String fxbs);
}
